package com.atguigu.gulimall.product.service;

import com.atguigu.gulimall.product.entity.PmsAttr;
import com.atguigu.gulimall.product.vo.AttrGroupRelationVO;
import com.atguigu.gulimall.product.vo.AttrRespVO;
import com.atguigu.gulimall.product.vo.AttrVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.atguigu.common.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品属性 服务类
 * </p>
 *
 * @author szh
 * @since 2020-12-01
 */
public interface IPmsAttrService extends IService<PmsAttr> {

	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 功能：
	 * @param attrVO attr 前端传输过来的
	 */
	void saveAttr(AttrVO attrVO);

	/**
	 * 功能：
	 * @param params 分页参数
	 * @param catelogId attr表主键
	 * @param type 属性类型，1-基本属性，2-销售属性
	 * @return
	 */
	PageUtils queryBaseAttrPage(Map<String, Object> params, Long catelogId, String type);

	AttrRespVO getAttrInfo(Long attrId);

	void updateAttr(AttrVO attrVO);

	/**
	 * 功能：根据分组id，查询所有关联属性
	 * @param attrgroupId 分组id
	 * @return
	 */
	List<PmsAttr> getRelationAttr(Long attrgroupId);

	void deleteRelation(AttrGroupRelationVO[] vos);

	/**
	 * 功能：查询出美元被关联的属性
	 * @param params 分页属性
	 * @param attrgroupId a
	 * @return
	 */
	PageUtils getNoRelationAttr(Map<String, Object> params, Long attrgroupId);
}
